package com.dexing.od1;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;


/**
 *  有一批箱子（形式为字符串，设为str）， 要求将这批箱子按从上到下以之字形的顺序摆放在宽度为 n 的空地，请输出箱子的摆放位置。
 *  例如：箱子ABCDEFG，空地宽度为3，摆放结果如图：
 *  
 *  
 *  
 *  则输出结果为：
 *  AFG
 *  BE
 *  CD 
 *  输入描述 
 *  输入一行字符串，通过空格分隔，前面部分为字母或数字组成的字符串str，表示箱子； 后面部分为数字n，表示空地的宽度。
 *  例如：ABCDEFG 3
 *  备注： 
 *  .请不要再最后一行输出额外的空行 .str只包含字母和数字，1 <= len(str) <= 1000 .1 <= n <= 100
 */
public class D2079Str {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String[] split = scanner.nextLine().split(" ");
        String str = split[0];
        int n = Integer.parseInt(split[1]);
        // 将n行格子看作是n个数组
        List<List<Character>> lists = new ArrayList<>();
        for (int i = 0; i < n; i++) {
            lists.add(new ArrayList<>());
        }
        int index = 0;
        // 控制下一个字符归属到哪个数组
        boolean flag = true;

        char[] chars = str.toCharArray();
        for (char c : chars) {
            if (index == -1) {
                index = 0;
                flag = true;
            }
            if (index == n) {
                index = n - 1;
                flag = false;
            }
            lists.get(index).add(c);

            if (flag) {
                index++;
            } else {
                index--;
            }
        }


        for (List<Character> list : lists) {
            for (Character c : list) {
                System.out.print(c);
            }
            System.out.println();
        }
    }
}
